Combined switching and window placement

ABSTRACT

Systems, methods, computer storage media, and graphical user interfaces (GUIs) are provided for combined switching and placement of windows based on a single action. The single action may be moving an element to a hot spot or a snap portion of a display area. In response to the single action, an element is automatically launched, repositioned according to a snap portion or a hot spot that recognized the element, and opened, and a view is automatically switched to a view of at least the element.

BACKGROUND

Operating systems provide multiple utilities that assist in variousfunctions including managing display areas of a displaying component(e.g., computer monitor, screen of a mobile device, and the like). Manyoperating systems provide a switcher to facilitate switching from onewindow to another window. In particular, a switcher presentsrepresentations of various windows (e.g., active windows) such that auser can simultaneously view multiple windows and easily select a windowto which to switch.

In a typical user experience, users are frequently opening and closingwindows and switching between multiple windows. This action, opening andpositioning windows and switching between windows, requires multipleactions including locating the window the user wants to open, selectingthe window desired, positioning the new window where the user wants it,switching to a view of the new window, etc. Such a multi-step operationis inefficient and likely decreases user satisfaction for an experience.

SUMMARY

This Summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This Summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intended tobe used as an aid in determining the scope of the claimed subjectmatter.

Embodiments of the present invention provide methods, systems, computerstorage media, and interactive graphic user interfaces (GUIs) for, amongother things, combining switching and window placement in a single stepoperation. This may be done to increase efficiency and improve a userexperience by eliminating various steps associated with switchingbetween and placement of windows.

When a user wishes to switch to a view of a new window (e.g., a windowthat is not yet open, a window that is open but not visible, etc.) from,for example, one or more current windows, a single step may be taken toautomatically initiate (1) launching the selected new window, (2)positioning the selected new window, and (3) switching to a view of theselected new window from a previous view. The previous view may haveincluded the one or more current windows. The single step may be anystep configured in an operating system to be recognized as the singlestep. In embodiments, the single step is a movement of an element (e.g.,the desired new window) into a snap portion of a display. The snapportion of the display may be any region of a display area configured toidentify said single step and initiate the appropriate responses. Bycombining multiple steps into one, user efficiency is increased and noadditional user action is required in order to launch or position a newwindow.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention is illustrated by way of example and notlimitation in the accompanying figures in which like reference numeralsindicate similar elements and in which:

FIG. 1 is a block diagram of an exemplary computing environment suitablefor use in implementing embodiments of the present invention;

FIG. 2 is an exemplary graphical user interface for combined switchingand window placement, wherein two windows are currently open in adisplay area;

FIG. 3 is an exemplary graphical user interface for combined switchingand window placement illustrating a switcher view;

FIG. 4 is an exemplary graphical user interface for combined switchingand window placement, wherein an element is being moved to a snapportion of a display;

FIG. 5 is an exemplary graphical user interface for combined switchingand window placement, wherein the selected element is being launched andpositioned;

FIG. 6 is an exemplary graphical user interface for combined switchingand window placement, wherein the selected element is displayed incombination with previously open windows;

FIG. 7 is an exemplary graphical user interface for combined switchingand window placement illustrating a switcher view;

FIG. 8 is an exemplary graphical user interface for combined switchingand window placement, wherein an element is being moved to a snapportion of a display;

FIG. 9 is an exemplary graphical user interface for combined switchingand window placement, wherein the selected element is displayed incombination with previously open windows;

FIG. 10 is an exemplary graphical user interface for combined switchingand window placement illustrating a half screen switcher view, whereinan element is being moved to a snap portion of a display;

FIG. 11 is an exemplary graphical user interface for combined switchingand window placement, wherein the selected element is being launched andpositioned;

FIG. 12 is an exemplary graphical user interface for combined switchingand window placement, wherein the selected element is displayed incombination with previously open windows;

FIG. 13 is an exemplary graphical user interface for combined switchingand window placement with more than one display area;

FIG. 14 is an exemplary graphical user interface for combined switchingand window placement with more than one display area;

FIG. 15 is an exemplary graphical user interface for combined switchingand window placement with more than one display area;

FIG. 16 is an exemplary graphical user interface for combined switchingand window placement illustrating layout selection;

FIG. 17 is an exemplary graphical user interface for combined switchingand window placement illustrating layout selection;

FIG. 18 is an exemplary graphical user interface for combined switchingand window placement illustrating layout selection;

FIG. 19 is an exemplary graphical user interface for combined switchingand window placement illustrating a snap portion of a display area;

FIG. 20 is an exemplary graphical user interface for combined switchingand window placement illustrating moving an element into a snap portionof a display area;

FIG. 21 is an exemplary graphical user interface for combined switchingand window placement, wherein the selected element is displayed incombination with previously open windows;

FIG. 22 is a flow diagram showing an exemplary method for combinedswitching and window placement;

FIG. 23 is a flow diagram showing another exemplary method for combinedswitching and window placement; and

FIG. 24 is a block diagram of an exemplary environment in whichembodiments of the invention may be employed.

DETAILED DESCRIPTION

The subject matter of the present invention is described withspecificity herein to meet statutory requirements. However, thedescription itself is not intended to limit the scope of this patent.Rather, the inventors have contemplated that the claimed subject mattermight also be embodied in other ways, to include different steps orcombinations of steps similar to the ones described in this document, inconjunction with other present or future technologies. Moreover,although the terms “step” and/or “block” may be used herein to connotedifferent elements of methods employed, the terms should not beinterpreted as implying any particular order among or between varioussteps herein disclosed unless and except when the order of individualsteps is explicitly described.

Various aspects of the technology described herein are generallydirected to systems, methods, computer storage media, and graphical userinterfaces (GUIs) for combined switching and placement of windows in asingle step operation. This may be done to increase efficiency andimprove a user experience by eliminating various steps associated withswitching between and placement of windows.

When a user wishes to switch to a new window from one or more currentwindows, a single step may be taken to automatically initiate (1)launching the selected new window, (2) positioning the selected newwindow, and (3) switching to a view of the selected new window from aprevious view. The previous view may have included the one or morecurrent windows. The single step may be any step configured into thesystem to be recognized as the single step. In embodiments, the singlestep is a movement of an element (e.g., a representation of the desirednew window) into a snap portion of a display. The snap portion of thedisplay may be any region of a display area configured to identify saidsingle step and initiate the appropriate responses. By combiningmultiple steps into one, user efficiency is increased and no additionaluser action is required in order to launch or position a new window.

Having briefly described an overview of embodiments of the presentinvention, an exemplary operating environment in which embodiments ofthe present invention may be implemented is described below in order toprovide a general context for various aspects of the present invention.Referring to the figures in general and initially to FIG. 1 inparticular, an exemplary operating environment for implementingembodiments of the present invention is shown and designated generallyas computing device 100. The computing device 100 is but one example ofa suitable computing environment and is not intended to suggest anylimitation as to the scope of use or functionality of embodiments of theinvention. Neither should the computing device 100 be interpreted ashaving any dependency or requirement relating to any one component norany combination of components illustrated.

Embodiments of the invention may be described in the general context ofcomputer code or machine-useable instructions, includingcomputer-useable or computer-executable instructions such as programmodules, being executed by a computer or other machine, such as apersonal data assistant or other handheld device. Generally, programmodules include routines, programs, objects, components, datastructures, and the like, and/or refer to code that performs particulartasks or implements particular abstract data types. Embodiments of theinvention may be practiced in a variety of system configurations,including, but not limited to, hand-held devices, consumer electronics,general-purpose computers, more specialty computing devices, and thelike. Embodiments of the invention may also be practiced in distributedcomputing environments where tasks are performed by remote-processingdevices that are linked through a communications network.

With continued reference to FIG. 1, the computing device 100 includes abus 110 that directly or indirectly couples the following devices: amemory 112, one or more processors 114, one or more presentationcomponents 116, one or more input/output (I/O) ports 118, one or moreI/O components 120, and an illustrative power supply 122. The bus 110represents what may be one or more busses (such as an address bus, databus, or combination thereof). Although the various blocks of FIG. 1 areshown with lines for the sake of clarity, in reality, these blocksrepresent logical, not necessarily actual, components. For example, onemay consider a presentation component such as a display device to be anI/O component. Also, processors have memory. The inventors hereofrecognize that such is the nature of the art, and reiterate that thediagram of FIG. 1 is merely illustrative of an exemplary computingdevice that can be used in connection with one or more embodiments ofthe present invention. Distinction is not made between such categoriesas “workstation,” “server,” “laptop,” “hand-held device,” etc., as allare contemplated within the scope of FIG. 1 and reference to “computingdevice.”

The computing device 100 typically includes a variety ofcomputer-readable media. Computer-readable media may be any availablemedia that is accessible by the computing device 100 and includes bothvolatile and nonvolatile media, removable and non-removable media.Computer-readable media comprises computer storage media andcommunication media; computer storage media excluding signals per se.Computer storage media includes volatile and nonvolatile, removable andnon-removable media implemented in any method or technology for storageof information such as computer-readable instructions, data structures,program modules or other data. Computer storage media includes, but isnot limited to, RAM, ROM, EEPROM, flash memory or other memorytechnology, CD-ROM, digital versatile disks (DVD) or other optical diskstorage, magnetic cassettes, magnetic tape, magnetic disk storage orother magnetic storage devices, or any other medium which can be used tostore the desired information and which can be accessed by the computingdevice 100. Communication media, on the other hand, embodiescomputer-readable instructions, data structures, program modules orother data in a modulated data signal such as a carrier wave or othertransport mechanism and includes any information delivery media. Theterm “modulated data signal” means a signal that has one or more of itscharacteristics set or changed in such a manner as to encode informationin the signal. By way of example, and not limitation, communicationmedia includes wired media such as a wired network or direct-wiredconnection, and wireless media such as acoustic, RF, infrared and otherwireless media. Combinations of any of the above should also be includedwithin the scope of computer-readable media.

The memory 112 includes computer-storage media in the form of volatileand/or nonvolatile memory. The memory may be removable, non-removable,or a combination thereof. Exemplary hardware devices include solid-statememory, hard drives, optical-disc drives, and the like. The computingdevice 100 includes one or more processors that read data from variousentities such as the memory 112 or the I/O components 120. Thepresentation component(s) 116 present data indications to a user orother device. Exemplary presentation components include a displaydevice, speaker, printing component, vibrating component, and the like.

The I/O ports 118 allow the computing device 100 to be logically coupledto other devices including the I/O components 120, some of which may bebuilt in. In embodiments, a microphone or other source of audio streamdata is included as an I/O component to provide the audio signalsnecessary for emotion recognition. Other illustrative I/O componentsinclude a joystick, game pad, satellite dish, scanner, printer, wirelessdevice, a controller, such as a stylus, a keyboard and a mouse, anatural user interface (NUI), and the like.

A NUI processes air gestures, voice, or other physiological inputsgenerated by a user. These inputs may be interpreted as search requests,words or symbols appearing in apps available for retrieval in responseto input search requests, and the like presented by the computing device100. These requests may be transmitted to the appropriate networkelement for further processing. A NUI implements any combination ofspeech recognition, touch and stylus recognition, facial recognition,biometric recognition, gesture recognition both on screen and adjacentto the screen, air gestures, head and eye tracking, and touchrecognition associated with displays on the computing device 100. Thecomputing device 100 may be equipped with depth cameras, such as,stereoscopic camera systems, infrared camera systems, RGB camerasystems, and combinations of these for gesture detection andrecognition. Additionally, the computing device 100 may be equipped withaccelerometers or gyroscopes that enable detection of motion. The outputof the accelerometers or gyroscopes may be provided to the display ofthe computing device 100 to render immersive augmented reality orvirtual reality.

Aspects of the subject matter described herein may be described in thegeneral context of computer-executable instructions, such as programmodules, being executed by a computing device. Generally, programmodules include routines, programs, objects, components, datastructures, and so forth, which perform particular tasks or implementparticular abstract data types. Aspects of the subject matter describedherein may also be practiced in distributed computing environments wheretasks are performed by remote processing devices that are linked througha communications network. In a distributed computing environment,program modules may be located in both local and remote computer storagemedia including memory storage devices.

Furthermore, although the term “server” may be often used herein, itwill be recognized that this term may also encompass a search engine, aWeb browser, a cloud server, a set of one or more processes distributedon one or more computers, one or more stand-alone storage devices, a setof one or more other computing or storage devices, a combination of oneor more of the above, and the like.

As previously set forth, embodiments of the present invention providesystems, methods, computer storage media, and graphical user interfaces(GUIs) for combined switching and placement of windows. Turning now toFIG. 24, a block diagram is provided illustrating an exemplaryenvironment 2400 in which embodiments of the present invention may beemployed. Generally, the environment 2400 illustrates an environment inwhich combined switching and placement of windows is performed. Amongother components not shown, the environment 2400 is depicted as beingembodied on a computing device 2402.

It will be understood and appreciated by those of ordinary skill in theart that the exemplary system 2400 shown in FIG. 24 is merely an exampleof one suitable computing environment and is not intended to suggest anylimitation as to the scope of use or functionality of the presentinvention. Neither should the exemplary environment 2400 be interpretedas having any dependency or requirement to any single component orcombination of components illustrated therein.

Further, logic within the environment 2400 supporting the exemplaryenvironment 2400 may be embodied on an internal processing component toa computing device 2402, provided from a distributed computingenvironment, such as a remote server (not shown), or any combinationthereof. In embodiments of the invention that are practiced indistributed computing environments, logic communication is linkedthrough appropriate connections. These connections may be wired orwireless. Examples of particular wired embodiments, within the scope ofthe present invention, include USB connections and cable connections.Examples of particular wireless embodiments, within the scope of thepresent invention, include a near-range wireless network. It should beunderstood and appreciated that the designation of “near-range wirelessnetwork” is not meant to be limiting, and should be interpreted broadlyto include at least the following technologies: negotiated wirelessperipheral (NWP) devices; short-range wireless air interference networks(e.g., wireless personal area network (wPAN), wireless local areanetwork (wLAN), wireless wide area network (wWAN), Bluetooth™, and thelike); wireless peer-to-peer communication (e.g., Ultra Wideband); andany protocol that supports wireless communication of data betweendevices. Additionally, persons familiar with the field of the inventionwill realize that a near-range wireless network may be practiced byvarious data-transfer methods (e.g., satellite transmission,telecommunications network, etc.). Therefore it is emphasized thatembodiments of the connections between the computing device 2402 and aremote server, for instance, are not limited by the examples described,but embrace a wide variety of methods of communications.

Exemplary embodiments include the computing device 2402 for, in part,supporting operation of the various components included within thecomputing device 2402 (e.g., the receiving component 2404, theidentifying component 2406, etc.). In an exemplary embodiment, where thecomputing device 2402 is personal computer for instance, a displayingcomponent 2416 (e.g., a touchscreen display) may be disposed on thecomputing device 2402. The computing device 2402 may take the form ofvarious types of computing devices. By way of example only, thecomputing device 2402 may be a personal computing device (e.g., thecomputing device 100 of FIG. 1), handheld device (e.g., personal digitalassistant), a mobile device (e.g., a laptop computer, cell phone, mediaplayer), consumer electronic device, various servers, and the like.Additionally, the computing device 2402 may comprise two or moreelectronic devices configured to share information therebetween.

Alternatively, or in addition, the functionally described herein can beperformed, at least in part, by one or more hardware logic components.For example, and without limitation, illustrative types of hardwarelogic components that can be used include Field-programmable Gate Arrays(FPGAs), Application-specific Integrated Circuits (ASICs),Application-specific Standard Products (ASSPs), System-on-a-chip systems(SOCs), Complex Programmable Logic Devices (CPLDs), etc.

It should be understood that any number of computing devices may beemployed in the environment 2400 within the scope of embodiments of thepresent invention. Each may comprise a single device/interface ormultiple devices/interfaces cooperating in a distributed environment.Additionally, other components or modules not shown also may be includedwithin the computing environment 2400.

The computing device 2402 may be configured for, among other things,facilitating combined switching and placement of windows. The computingdevice 2402 may include, among other things, a receiving component 2404,an identifying component 2406, an associating component 2408, alaunching component 2410, a positioning component 2412, a switchingcomponent 2414, and a displaying component 2416. The displayingcomponent 2416 may be configured as any display device that is capableof presenting information to a user, such as a monitor, electronicdisplay panel, touch-screen, liquid crystal display (LCD), plasmascreen, one or more light-emitting diodes (LED), incandescent bulbs, alaser, an electroluminescent light source, a chemical light, a flexiblelight wire, and/or fluorescent light, or any other display type, or maycomprise a reflective surface upon which the visual information isprojected.

The receiving component 2404 may be configured for, among other things,receiving an indication to switch to a switcher view (also referred toas an application switcher view) or a switching mode from, for example,a non-switcher view. A switcher view, as used herein, refers generallyto a GUI, view, or portion of a display that facilitates switching ortransitioning between elements and includes a collection/plurality ofelements. An element, as used herein, refers generally to arepresentation of content to be displayed in a window (e.g., activewindows). Examples of elements include representations of files,folders, applications, windows, and the like. Elements may be selectedto display, as a window for instance, in a display area of the computingdevice 2402. For instance, an element (e.g., an icon for a web browser)may be selected to be displayed in a display area of the computingdevice 2402. Elements are generally discussed herein as representationsthat are or are able to be displayed as a window such as, as previouslymentioned, files, folders, applications, or the like. The representationmay be in any form including, but not limited to, icons, thumbnails,identifiers, text lists, or the like.

The switcher view may include a plurality of elements where the elementsdisplayed in the switcher view may be active windows, recently openedelements (e.g., the element such as a file, application window, person,etc., was open at a first time that is less than a threshold number ofminutes/hours before a second time), frequently opened elements (e.g.,elements that are opened a number of times that exceeds a predeterminedthreshold or elements that are opened a number of times that exceeds apredetermined threshold for a given period of time), user-selectedelements (e.g., a user has designated a particular element toconsistently be presented in a switcher view), and the like.

The switcher view (or mode) may be enabled to facilitate launchingwindows, switching views of windows, and placement of windows resultingfrom a single action. The switcher view may be enabled from thenon-switcher view by, for instance, a user selection, a user input, agesture, and the like. The non-switcher view may be any view of adisplay that does not include a switcher view. For instance, thenon-switcher view may be a desktop of a computing device, a windowcurrently displayed on a computing device (e.g., a document, web page,etc.), and the like. An exemplary non-switcher view is illustrated inFIG. 2. FIG. 2 includes a non-switcher view interface 200 that includesa first window 202 and a second window 204. The windows may representany type of element or target displayed in a window such as a document,a web page, etc., and may be different from one another.

The switcher view allows for a single action to initiate a series ofevents as a result of the single action. A single action may be anyaction preconfigured into the computing environment 2400 (operatingsystem) to be recognized as the single action. In an embodiment, thesingle action is moving an element into a snap portion of a display or ahot spot of a display. The series of events that result from a singleaction may include, among other things, launching and opening theelement moved into the snap portion of the display, positioning a viewof the element in a position on the display (either arbitrary orpredetermined as will be discussed below), and switching to a view ofthe element. The snap portion of the display may be any region of adisplay area configured to identify said single step and initiate theappropriate responses. In an embodiment, the snap portion is a corner ofthe display. In another embodiment, the snap portion is an edge of adisplay area. The snap portion may automatically be enabled in theswitcher view and not enabled in a non-switcher view such that movementof an element over a snap portion of the display in a non-switcher viewwill not result in automatic combined switching and placement of theelement as it will in a switcher view.

FIG. 3 illustrates an exemplary switcher view interface 300. Theswitcher view interface 300 includes a plurality of elements includingelement 302, element 304, and element 306. As previously indicated, anelement may be selected in the switcher view interface 300 to indicate adesire to switch to the element as indicated by the selection 308. Theswitch indication may be to switch to the element completely (e.g.,display the selected element alone in a full screen view) or to displaythe element in combination with one or more previously displayed windows(e.g., other active windows), such as the first window 202 and thesecond window 204 of FIG. 2. The element may be selected by, forinstance, an input device such as a mouse, a gesture, an input on atouch-screen, a voice command, etc.

Returning now to FIG. 24, the identifying component 2406 may beconfigured for, among other things, identifying when an element is movedinto a snap portion of a display. As previously mentioned, the snapportion may be any portion of a display configured to identify when anelement is moved within the snap portion. In an embodiment, the snapportion is a corner of a display area. FIG. 4 illustrates said movementof an element into a snap portion of a display. FIG. 4 provides a GUI400 of a switcher view where the element 306 has been selected asindicated by selection 402 and moved 404 toward a snap portion of thedisplay. FIG. 5 illustrates a GUI 500 switcher view where an element isin a snap position 502 (i.e., the element is within the snap portion ofthe GUI 500).

Once an element is identified (by, for instance, the identifyingcomponent 2406) within a snap portion of a display area, the associatingcomponent 2408 may be configured for, among other things, associating aposition with the element or a layout with the display area or acombination thereof. A position associated with an element may be anarbitrary position (e.g., wherever a user positions the element on thedisplay area) or a predetermined position associated with the user, theelement, the snap portion utilized to place the element, and the like.For instance, a user may designate that Element 1 is to be opened in aparticular location of a display area. Alternatively, an element may bepositioned in a lower right hand corner of a display area if a lowerright hand corner snap portion is utilized to open and position theelement while an element that is opened and positioned using a snapportion of an upper left hand corner of a display area may be placed inthe upper left hand portion of the display area. In FIG. 5, for example,the element may be configured to be displayed in a bottom right handcorner of GUI 500 since the bottom right hand corner snap portion wasutilized to open and position the element. The present applicationrefers to placement of an element and placement of a view of an element.Each is referring to placing either the element itself or the resultingview of the element (when launched) in a predetermined position.

Said launching and positioning may be executed by, for example, thelaunching component 2410 and the positioning component 2412. Suchlaunching and positioning is illustrated in GUI 600 of FIG. 6. Element602 is positioned in a predetermined location and launched incombination with the first window 202 and the second window 204 of FIG.2. Alternatively, element 602 may have been launched and positioned in afull screen view, half screen view, partial screen view, or any otherposition within the display area of GUI 600. The view is automaticallyswitched from a switching view to a view of the element 602 by, forexample, the switching component 2414. The view of the element 602 is incombination with the first window 202 and the second window 204 in thisexample but could have been switched to a view of just the element 602.The view of the element is displayed by, for example, the displayingcomponent 2416.

Additionally, a hot spot may be located in any position designated by auser on a display area to position elements in different locations onthe display. For example, FIG. 7 provides a GUI 700 of a switcher viewwhere element 702 is selected. FIG. 8 illustrates a GUI 800 of theswitcher view where an element 802 (previously illustrated as element702 in FIG. 7) is moved via movement 804 to a hot spot at an arbitrarylocation of the GUI 800. The element is positioned at position 806 overthe hot spot (not shown). The resulting display may be as illustrated byGUI 900 of FIG. 9 where the first window 202, the second window 204, andthe element 902 (previously illustrated as element 802 of FIG. 8 andelement 702 of FIG. 7) are simultaneously presented. The element 902 maybe presented overlapping with the window 204 as is shown in FIG. 9 or itmay be presented on its own in the same location but without window 204behind it.

In embodiments, rather than an identified hot spot, the entire displayarea may be configured such that any location on the display area isconfigured for placement of a window. In other words, an element may bedragged to any location in the display area (e.g., every point on thedisplay area) in order to place a window.

Turning now to FIG. 10, a GUI 1000 is provided to illustrate a halfscreen switcher view. A first portion of the screen (right hand side)displays a window 1002 (perhaps, for instance, window 204 of FIG. 2)including content which may be, for example, a web page, a document, animage, a video, or the like. The second portion of the screen (left handside) displays a reduced switcher view 1004 (i.e., less than a fullscreen switcher view). The reduced switcher view 1004 may be configuredto display elements in a tile fashion (as shown) or alternatively, in alist format or thumbnails, given the reduced space with which to displaya collection/plurality of elements. Element 1008 may be selected fromthe reduced switcher view 1004 and moved to a snap portion 1006 of theGUI 1000. The movement into the snap portion 1006 alone is all that isneeded to initiate the series of events (launching, opening,positioning, and switching to a view of the element).

In accordance with an embodiment, when element 1008 is moved to the snapportion 1006 in the upper left hand corner of GUI 1000, the element 1008is positioned in the upper left hand corner of the GUI 1000 asillustrated in FIG. 11. FIG. 11 provides a GUI 1100 where the window1002 and reduced screen switcher 1004 are still visible but the element1008 is being positioned in position 1102. The resulting display may besimilar to the display provided in FIG. 12 as GUI 1200 where window 1002and element 1102 are displayed at the same time.

When an element is displayed, it may be referred to as a target. Atarget, as used herein, refers generally to a final destination or whatis presented in a new window (resulting from selection of an element).Example targets include documents, web pages, and the like. For example,an exemplary element may be an icon for a web browser and the target maybe a particular web page. However, for simplicity, the presentapplication may describe a target as an element in order to easilyidentify the selection and display of an element or item throughout.Thus, the term ‘element’ may be used interchangeably with the term‘target’.

Turning now to FIG. 13, an additional embodiment is provided. A GUI 1300is displayed across, for instance, two screens. The two screens may betwo monitors of a computing device. Further, one screen may be a virtualdesktop. Embodiments of the present invention are applicable toimplementation on multiple display areas. For example, FIG. 13 providesa first display 1302 and a second display 1304. The first display 1302comprises a plurality of elements from, for example, a switcher viewincluding element 1306, element 1308, and element 1310. A hot spot 1312has been highlighted for ease of view. When multiple displays areinvolved, similar to a single display, a hot spot or snap portion may beused to initiate a series of events in response to a single action ofmoving an element into either the hot spot or the snap portion. Movingthe element 1310 into the hot spot 1312 alone may result in positioningof the element 1310 on the first display 1302. Alternatively, theelement 1310 may be moved into both the hot spot 1312 and a desktopswitch area 1314 (highlighted for ease of view) to both position theelement on and switch to the second display 1304.

Turning now to FIG. 14, a GUI 1400 is provided that illustrates thecombined switching and placement of windows with respect to afile/folder. GUI 1400 includes a first window 1402, a second window1404, a third window 1408, and an element 1406. The element 1406 is afolder in this example. A snap portion or hot spot (not shown) is alsoincluded in the GUI 1400. When the element 1406 is moved to a snapportion or hot spot, the element 1406 is opened to display a targetdepicted as target 1502 in FIG. 15 and positioned within the displayarea. The target 1502 includes contents 1406A of element 1406. In FIG.15, the target 1502 is illustrated as being displayed side-by-side withwindow 1408 but target 1502 may be displayed in any manner desired bythe user. For instance, the target 1502 could have been associated witha location specific to a snap portion (e.g., a particular corner of theGUI 1500) or it could have been located relative to a hot spot in amiddle portion of the screen. In this particular example, a positionassociated with target 1502 displayed the two windows (target 1502 andwindow 1408) side-by-side.

Additionally, FIG. 14 may also be used to illustrate an embodimentassociated with a file. For instance, any one of the files of FIG. 14(e.g., File A, File B, File C, etc.) may be moved to a, for example, hotspot of a display area. Movement of the file to a hotspot results inboth the file being opened in a correct application (e.g., a spreadsheetfile opened in a spreadsheet application) and being snapped into place.

FIG. 16 provides a GUI 1600 illustrating a layout selection embodiment.The layout selection embodiment may be automatically enabled when morethan one element is selected for combined switching and placement.Layout selection may also be enabled when a single element is selectedif a user wishes to enable the feature. GUI 1600 includes a firstelement 1602, a second element 1604, and a third element 1606, eachhaving been selected as indicated by the check box in the upper righthand corner of each element. Selection may be indicated in any othermanner recognized in the art. Upon selection of more than one element, alayout selection option 1608 may be displayed. The layout selectionoption 1608 may include one or more layouts in which to display theelements, one or more previously open windows, or a combination thereof.Thus, if one or more windows are currently open, the layout selectionoption 1608 may include layouts to accommodate the number of elementsselected plus the number of windows that are already open. In thisexample, three elements have been selected (i.e., first element 1602,second element 1604, and third element 1606) so a plurality of layoutsare displayed that accommodate at least three elements or windows. Alayout may be selected directly from the layout selection option 1608and said selection is illustrated in FIG. 17 where a GUI 1700 includes alayout selection of layout 1702. The selected layout is then displayedas illustrated by GUI 1800 in FIG. 18. FIG. 18 includes the selectedlayout where first element 1602, second element 1604, and third element1606 are displayed.

Turning now to FIG. 19, an illustrative GUI 1900 is providedillustrating a view of a snap portion 1912 of a display area 1910 and anon-snap portion 1904 of the display area 1910. As previously indicated,one or more elements, such as element 1902, may be selected for combinedswitching and placement by moving, via movement 1906, the element 1902toward the snap portion 1912 of the display area 1910. While the element1902 is still within the non-snap portion 1904 of the display area 1910,the element 1902 remains in the same state (e.g., not resized orrepositioned as a target) as is indicated by element 1908 of GUI 2000 inFIG. 20. As long as elements remain within a non-snap portion of adisplay, they are simply moved within the non-snap portion. That is, theelement is not “snapped” into a new position in the display area orautomatically launched/opened as would be the case if the element weremoved within the snap portion as illustrated by GUI 2100 in FIG. 21. InFIG. 21, the element 2102 has been moved into the snap portion 1912 andis launched, positioned, and opened as a result of the single action(i.e., moving the element into the snap position). The element may belaunched automatically.

As is evident from the above, specific regions may be defined such thatspecific actions may be performed according to a region. A display areamay include a non-switcher view (region), a switcher view, a hotspot, asnap portion, a non-snap portion, or the like. When elements are withinregions that are not associated with the series of events (such asnon-snap portions, etc.), a variety of actions may be performed on theelements such as simply moving the element, resizing the element itself,etc. When elements are within regions that are associated with theseries of events, such as hotspots, snap portions, etc., the elementsmay undergo the series of events automatically upon entering the regionor subsequent to entering the region (e.g., upon release of a user inputdevice such as a mouse, upon a user removing an input device from atouch screen display, etc.).

In some embodiments, one or more of the illustrated components/modulesmay be implemented as stand-alone applications. In other embodiments,one or more of the illustrated components/modules may be implemented viathe user computing device 2402, a remote server, or as an Internet-basedservice. It will be understood by those of ordinary skill in the artthat the components/modules illustrated in FIG. 24 are exemplary innature and in number and should not be construed as limiting. Any numberof components/modules may be employed to achieve the desiredfunctionality within the scope of embodiments hereof. Further,components/modules may be located on any number of computing devices. Byway of example only, the computing device 2402 might be provided as asingle computing device, a cluster of computing devices, or a computingdevice remote from one or more of the remaining components.

It should be understood that this and other arrangements describedherein are set forth only as examples. Other arrangements and elements(e.g., machines, interfaces, functions, orders, and groupings offunctions, etc.) can be used in addition to or instead of those shownand/or described, and some elements may be omitted altogether. Further,many of the elements described herein are functional entities that maybe implemented as discrete or distributed components or in conjunctionwith other components, and in any suitable combination and location.Various functions described herein as being performed by one or moreentities may be carried out by hardware, firmware, and/or software. Forinstance, various functions may be carried out by a processor executinginstructions stored in memory.

It should be noted that embodiments of the present invention are equallyapplicable to mobile computing devices and devices accepting gesture,touch and/or voice input. Any and all such variations, and anycombination thereof, are contemplated to be within the scope ofembodiments of the present invention.

Turning now to FIG. 22, a flow diagram is illustrated showing anexemplary method (2200) for combined switching and placement of windows.At block 2202, an indication that an element has been moved to a snapportion of a display area is received in a switcher view. At block 2204,in accordance with the indication that the element has been moved to thesnap portion, the element is opened and a view is switched to a view ofthe element.

Turning now to FIG. 23, a flow diagram is illustrated showing anexemplary method (2300) for combined switching and placement of windows.At block 2302, an indication to switch to a switcher view is received ina non-switcher view. At block 2304, an indication that an element hasbeen moved to a snap portion of a display area is received in a switcherview. At block 2306, upon receiving the indication that the element hasbeen moved to the snap portion, the element is positioned in apredetermined location, opened, and a view is switched to a view of theelement, wherein the view of the element includes the element in thepredetermined location and one or more first windows that werepreviously open in the non-switcher view.

It will be understood by those of ordinary skill in the art that theorder of steps shown in the methods 2200 and 2300 of FIGS. 22 and 23 isnot meant to limit the scope of the present invention in any way and, infact, the steps may occur in a variety of different sequences withinembodiments hereof. Any and all such variations, and any combinationthereof, are contemplated to be within the scope of embodiments of thepresent invention.

To recapitulate, an embodiment of the invention is directed to combinedswitching and placement of windows based on a single action. The singleaction may be moving an element desired to be open to a hot spot or asnap portion of a display area. Accordingly, one embodiment of thepresent invention is directed to one or more computer storage mediastoring computer-useable instructions that, when used by one or morecomputing devices, cause the one or more computing devices to perform amethod for combined switching and placement of windows The claim recitesin a switcher view, receiving an indication that an element has beenmoved to a snap portion of a display area, wherein the switcher viewcomprises a collection of elements; and in accordance with theindication that the element has been moved to the snap portion, openingthe element and switching to a view of the element.

In another embodiment, the present invention is directed to a methodbeing performed by one or more computing devices including at least oneprocessor. The method includes in a non-switcher view, receiving anindication to switch to a switcher view, wherein the non-switcher viewcomprises one or more first windows, wherein the one or more firstwindows are windows that are currently open; in the switcher view,receiving an indication that an element has been moved to a snap portionof a display area, wherein the switcher view comprises a collection ofelements; and upon receiving the indication that the element has beenmoved to the snap portion, positioning the element in a predeterminedlocation, opening the element, and switching to a view of the element,wherein the view of the element comprises the element in thepredetermined position and the one or more first windows.

In yet another embodiment, the present invention is directed to one ormore computer storage media having computer-executable instructionsembodied thereon that, when executed by a computing device, cause thecomputing device to generate a graphical user interface (GUI). The GUIcomprises a switcher view of a display area configured to display acollection of elements; and a snap portion of the display areaconfigured to identify when an element is within the snap portion suchthat an automatic initiation of a launch and position action isexecuted, wherein the snap portion of the display is activated in theswitcher view.

Although the subject matter has been described in a language specific tostructural features and/or acts, it is to be understood that the subjectmatter defined in the appended claims is not necessarily limited to thespecific features or acts described above. Rather, the specific featuresand acts described above are disclosed as examples of implementing theclaims and other equivalent features and acts are intended to be withinthe scope of the claims.

What is claimed is:
 1. One or more computer storage media storingcomputer-useable instructions that, when used by one or more computingdevices, cause the one or more computing devices to perform a method,the method comprising: in a switcher view, receiving an indication thatan element has been moved to a snap portion of a display area, whereinthe switcher view comprises a collection of elements; and in accordancewith the indication that the element has been moved to the snap portion,opening the element and switching to a view of the element.
 2. The oneor more computer-readable storage media of claim 1, wherein the methodfurther comprises positioning the view of the element in an arbitrarylocation.
 3. The one or more computer-readable storage media of claim 1,wherein the switcher view is a full screen view.
 4. The one or morecomputer-readable storage media of claim 1, wherein the switcher view isa partial screen view.
 5. The one or more computer-readable storagemedia of claim 1, wherein the collection of elements comprises files,folders, applications, windows, or a combination thereof.
 6. The one ormore computer-readable storage media of claim 1, wherein the snapportion of the display area is a portion of the display area.
 7. The oneor more computer-readable storage media of claim 1, wherein the snapportion of the display area is a corner of the display area.
 8. The oneor more computer-readable storage media of claim 1, wherein the view ofthe element comprises the element and one or more windows.
 9. The one ormore computer-readable storage media of claim 8, wherein the one or morewindows comprises one or more windows previously open in a non-switcherview.
 10. A method being performed by one or more computing devicesincluding at least one processor, the method comprising: in anon-switcher view, receiving an indication to switch to a switcher view,wherein the non-switcher view comprises one or more first windows,wherein the one or more first windows are windows that are currentlyopen in a display area; in the switcher view, receiving an indicationthat an element has been moved to a snap portion of the display area,wherein the switcher view comprises a collection of elements; and uponreceiving the indication that the element has been moved to the snapportion of the display area, positioning the element in a predeterminedlocation such that a view of the element is positioned in thepredetermined location, opening the element, and switching to the viewof the element, wherein the view of the element comprises the element inthe predetermined location and the one or more first windows.
 11. Themethod of claim 10, wherein the switcher view is a partial screen view.12. The method of claim 10, wherein the snap portion of the display areais a portion of the display area.
 13. The method of claim 10, whereinthe collection of elements comprises files, folders, applications,windows, or a combination thereof.
 14. The method of claim 10, wherein aplurality of elements is selected and moved to the snap portion of thedisplay area such that each element of the plurality of elements ispositioned in a predetermined location associated with each element,opened, and the view is switched to a multi-element view of eachelement.
 15. The method of claim 10, wherein the one or more windowscomprise one or more windows previously open in a non-switcher view. 16.The method of claim 10, further comprising wherein the switcher view isa partial screen view positioned on a first portion of the display areaconcurrently with one of the one or more first windows positioned on asecond portion of the display area.
 17. One or more computer storagemedia having computer-executable instructions embodied thereon that,when executed by a computing device, cause the computing device togenerate a graphical user interface (GUI), the GUI comprising: aswitcher view of a display area configured to display a collection ofelements; and a snap portion of the display area configured to identifywhen an element is within the snap portion such that an automaticinitiation of a launch and position action is executed, wherein the snapportion of the display is activated in the switcher view.
 18. The GUI ofclaim 17, wherein the snap portion of the display area is not activatedin a non-switcher view.
 19. The GUI of claim 17, wherein the snapportion of the display area is a portion of the display area.
 20. TheGUI of claim 17, wherein the snap portion of the display area initiatesthe launch and position action such that the element is, with a singleuser input of moving the element into the snap portion, automaticallylaunched and positioned in a predetermined position of the display area.